package com.xydtech.ecard.ftp.service;

import com.xydtech.ecard.ftp.domain.FtpDepositLoanRateConfig;

import java.util.List;

/**
 * @Author: liliya
 * @Description: FTP存贷款收益率曲线ftp_deposit_loan_rate_config
 * @Date: Created in 2023/8/16 16:32
 * @Modified:
 */

public interface IFtpDepositLoanRateConfigService {

    /**
     * 查询全表基础数据
     * @return
     */
    List<FtpDepositLoanRateConfig> selectBaseList(FtpDepositLoanRateConfig config);

    /**
     * 通过期限匹配法:定价期限(天数下限,闭区间)查对应区间
     * @param pricingPeriod
     * @return
     */
    FtpDepositLoanRateConfig selectBaseListByDayOfUnderClosed(Integer pricingPeriod, Integer configType);


    /**
     * 通过期限匹配法:定价期限(天数上限,闭区间)和config_key查对应区间
     * @param pricingPeriod
     * @param configKey
     * @return
     */
    FtpDepositLoanRateConfig selectBaseListByDayOfUpperClosed(Integer pricingPeriod, String configKey, Integer configType);

    /**
     * 通过期限匹配法:天数下限查对应区间
     * @param configUnderDay
     * @return
     */
    FtpDepositLoanRateConfig selectBaseListByConfigUnderDay(Integer configUnderDay, Integer configType);

    /**
     * 通过期限匹配法:期限标识,N天/周W/月M/Y年查对应区间
     * @param configKey
     * @return
     */
    FtpDepositLoanRateConfig selectBaseListByConfigKey(String configKey, Integer configType);


    /**
     * 查询
     */
    FtpDepositLoanRateConfig selectBaseById(Integer id);
    /**
     * 新增
     */
    int insertBase(FtpDepositLoanRateConfig config);

    /**
     * 修改
     */
    int updateBase(FtpDepositLoanRateConfig config);

    /**
     * 删除
     */
    int deleteBaseById(Long configId);

    /**
     * 批量删除
     */
    int deleteBaseByIds(Long[] configIds);


}
